﻿#ifndef __IENGINE_H__
#define __IENGINE_H__
#include "Includes.h"
#include <windows.h>
/*
File: IEngine.h

Leírás:
Az YGD Engine interfésze az alkalmazás felé, szolgáltatások felülete, arculata.

Szerző:
SevN, Csaba
*/

class IEngine
{
public:
  virtual ~IEngine(){}
	// ablak id lekérdezése
	virtual HWND getWindowIdentifier() = 0;

  // világ update, input érzékelés
  virtual void update() = 0;

	// renderelés
	virtual void render() = 0;

	// memória tisztítás
	virtual void cleanUp() = 0;

  // kamera beállítása
  virtual void setCamera(ICamera* pCam) = 0;

  // képernyő szélességének lekérdezése
  virtual int getScreenWidth() = 0;

  // képernyő magasságának lekérdezése
  virtual int getScreenHeight() = 0;

  // égbolt textúrájának beállítása fileból
  virtual void setSkyBoxTexture(std::string texture_in) = 0;
};

#endif